package com.example.learnjava.exception;

/**
 * finally代码块：定义一定执行的代码
 * 通常用于关闭资源
 */

class FuShuException2 extends Exception{
    public FuShuException2(String message) {
        super(message);
    }
}

class Demo4 {
    int div(int a, int b) throws FuShuException2{

        if (b<0){
            throw new FuShuException2("除数为负数");
        }
        return a / b;
    }
}

class NoException extends Exception{

}

public class d_finally_118 {
    public static void main(String[] args) {
        Demo4 demo4=new Demo4();
        try {
            int x = demo4.div(4, -1);
            System.out.println("x="+x);
        }catch (FuShuException2 e){
            System.out.println(e.toString());
        }finally {
            System.out.println("finally");//finally中存放的是一定会被执行的代码
        }
        System.out.println("over");
    }

    public void method() throws NoException{
        //1.连接数据库
        //2.数据操作
        //3.关闭数据库,该动作，无论数据操作是否成功，一定要关闭资源
//        try{
            //连接数据库
            //数据操作
//        }catch (SQLException e){
            //会对数据库进行异常处理；
           // throw new NoException();
//        }finally{
            //关闭数据库
//        }

    }
}
